import win32api
import win32print
import os
from tqdm import tqdm
import time
import win32api
import win32com
import win32print
from win32com.client import Dispatch
# pwd_path=os.getcwd()
# filename = "C:/Users/Dylan/Desktop/python_ws/1.docx"
# filename_path = os.path.join(pwd_path,"1.docx")

#这个是可以打印各种格式的文件的
def Print_file(filename):
    # open(filename,"r")
    win32api.ShellExecute(
      0,
      "print",
      filename,
      #
      # If this is None, the default printer will
      # be used anyway.
      # 使用默认打印机
      '/d:"%s"' % win32print.GetDefaultPrinter(),
      ".",
      0
    )
    time.sleep(0.5)

#专门只能打印doc，docx文件的，注意要使用绝对路径,第二个参数是打印几次
def print_word(word_file_path,times):
    # 指示系统中文档的处理工具
    # 指示运行的版本，如果是WPS应修改为
    # 如果使用word
    exec_tool = 'Word.Application'
    # 如果使用wps
    # exec_tool = 'wps.application'
    word = win32com.client.Dispatch(exec_tool)
    # 在后台运行程序
    word.Visible = 0  # 后台运行，不显示
    # 运行过程不警告
    word.DisplayAlerts = 0  # 不警告
    # 打开word文档
    doc = word.Documents.Open(word_file_path)
    # 进行打印
    # for i in tqdm(range(times),colour="#FFC0CB",ncols=50):
    for i in range(times):
        doc.PrintOut()

    # --------------------------------------------------------
    # -- 最后操作保存
    # --------------------------------------------------------
    # 关闭文件
    doc.Close()
    # 退出word
    word.Quit()
